1. Technical Field
The present invention relates to computerized planning systems, and more specifically, to a framework for dynamically generating hierarchical groupings and relationships within a planning system.
2. Related Art
Merchandise planning systems have become an important tool for successful business planning. Proper merchandise planning allows a business to purchase the right levels of merchandise, in the right assortments, for the right stores. When done correctly, stores have balanced inventories and customers find the products they want. When done incorrectly, stores are faced with clearance markdowns, unhappy customers, and unbalanced inventories. Accordingly, accurate merchandise planning can be the difference between profitability and unprofitability.
Specialized software programs that handle planning data are now available to facilitate merchandise planning. Merchandise planning software programs allows users to create, monitor, evaluate and adjust merchandising plans. At the heart of such programs are spreadsheets that display and analyze data. During planning sessions, users can study and manipulate data to, for example, plan for business needs, create xe2x80x9cwhat-ifxe2x80x9d scenarios, and analyze performance.
One of the problems faced by users, however, is managing the volume of data available to a business. This process often involves dealing with multidimensional data that, for example, includes different products (dresses, shirts, etc.), at different store locations (Boston, Chicago, etc.), at different periods of time (spring 2000, fall 2000, etc.). To approach a particular planning issue, a planner may desire to analyze an arbitrary view of the data with a predetermined granularity. This can be accomplished by viewing data at different levels of detail within a hierarchy. For instance, store locations could be viewed as individual stores, by district, or by region. Most planning software programs provide mechanisms for creating limited plan formats that select portions of the planning data for viewing, e.g., showing projected inventory requirements for all stores. However, the prior art does not provide mechanisms for dynamically creating hierarchical views of multidimensional data.
For instance, consider the planner that plans product inventory for stores within the business. The planner may recognize that certain stores share common attributes such as size, climate, and/or demographics. Accordingly, it may be useful to group or cluster certain stores together that share these attributes during the planning process in order to improve efficiency. However, because the planner may be dealing with multidimensional data, the manner in which stores are clustered together by the planner may depend on the particular product being planned. For example, for a particular product such as winter coats, it may be useful to group inventory needs for all cold weather stores together, while considering large stores separately from small stores. For other products, such as sneakers, the planner may not care about the climate or size of the stores, but instead want to group stores based on demographics.
Accordingly, even where the planner clusters stores having similar attributes, the resulting relationships may greatly depend upon the product. Thus, for example, a store may be xe2x80x9cfashion forwardxe2x80x9d for sneakers, but xe2x80x9cfashion followingxe2x80x9d for dresses. Similarly, when considering stores by sales volume, the relationships may vary by product as seasonal sales of $100,000-$150,000 may be xe2x80x9clargexe2x80x9d for shoe accessories, but xe2x80x9csmallxe2x80x9d for dresses.
Unfortunately, as the number of products, stores, and time frames increases, the options for grouping data likewise increases. If the planner is going to be able to group data in an effective manner, the planner requires some mechanism for easily building groupings during an interactive planning session (i.e., dynamically). Without a dynamic system for providing hierarchical views of data, planning systems lack the robustness required by modem day business planners. The prior art provides no mechanism for allowing a planner to create such views dynamically.
The present invention addresses the above-mentioned problems by providing a system and method for dynamically building hierarchical groupings of business information based on multidimensional member characteristics. The system includes a computer program that comprises: (1) a mechanism for choosing one or more characteristic orders (i.e., a hierarchical model), a characteristic set made up of N characteristics, and an initial set of members; (2) a mechanism for assigning characteristic values for each of the N characteristics for each of the initial set of members; (3) a mechanism for dynamically creating hierarchical levels and level to level relationships based on the chosen characteristic order(s); and (4) a mechanism for dynamically creating new members and member to member relationships in each of the hierarchical levels.
Within the system, each of the level to level relationships includes a parent level and a child level, wherein the child level includes M characteristics and the parent level includes a subset of the M characteristics. New members can be created in the parent level by grouping (or clustering) together members in the child level that share the same characteristic values for each of the subset of the M characteristics. The clustering process is facilitated by having a consistent naming convention for both members and levels.
Accordingly, to create a first level of members based on the set of initial members, the system comprises a mechanism for grouping together initial members and their characteristic values into distinct clusters, such that each distinct cluster comprises a set of initial members having the same N characteristic values. Each distinct cluster then becomes a first level member.
The method comprises the steps of: (1) choosing a characteristic order, a characteristic set made up of N characteristics, and an initial set of members; (2) assigning characteristic values for each of the N characteristics for each of the initial set of members; (3) dynamically creating hierarchical levels and level to level relationships based on the chosen characteristic order; and (4) dynamically creating new members and member to member relationships in each of the hierarchical levels.